#ifndef _OD_SIP_INVITE_H_
#define _OD_SIP_INVITE_H_

#ifdef __cplusplus
    extern "C" {
#endif


typedef enum
{
    OD_SIP_INVITE_DST_URI = 0,
    OD_SIP_INVITE_INVITE_STATUS,
    OD_SIP_INVITE_BYE_FLG,
    OD_SIP_INVITE_SEND_INVITE_FLG,
    OD_SIP_INVITE_NUM    
}od_sip_invite_def;


typedef struct 
{
    const char *task_name;
    void **h_state_machine;         /**< handle of state machine pthread*/
    int group_id;
}od_sip_invite_static_params;


typedef struct
{
    char dst_uri[64];       /**< 被叫号码*/
    int  invite_status;     /**< 主叫状态 1：成功，0：失败*/
    int  bye_flg;           /**< BYE信令发送标志，设置1发送*/
    int  send_invite_flg;   /**< INVITE信令发送标志，设置1就发出去INVITE了*/
}od_sip_invite_dynamic_params;

typedef void *od_sip_invite_handle;

extern const od_sip_invite_dynamic_params glb_sip_invite_dynamic_params_default;

od_sip_invite_handle od_sip_invite_create(od_sip_invite_static_params *static_params,
                                            od_sip_invite_dynamic_params *dynamic_params);

#ifdef __cplusplus
    }
#endif

#endif

/*_*/

